Execution Modules (Adapters)
Module contract
- Base: VModuleimplementsModule.
- Map I/O: MapIOModulefor modules that read/write state maps.
- Branching: BranchingModulereturns an outcome to drive control flow.
Loading modules
- Each ExecModule.classNameis resolved to a Spring bean or reflectively instantiated.
- Properties are copied from ExecModuleinto the module instance before execution.
Parallel groups
- Add { "parallel": true, "parallelGroup": "A" }inmoduleDatato run as a group.
- Outcomes are aggregated with priority: FAILURE > CONDITIONAL > DEFAULT.
Authoring new modules
- Annotate with @Componentand@VModuleAware.
- Implement MapIOModuleto participate in state passing and branching.
- Keep side effects idempotent and log meaningful metrics.